﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Sisco.LogicaNegocio
{
    public class TipoProblemaBLL
    {
        public List<AccesoDatos.PROBLEMA_TIPO> Listar()
        {
            AccesoDatos.TipoProblemaDAO tipoProblemaDAO = new AccesoDatos.TipoProblemaDAO();

            return tipoProblemaDAO.Listar();
        }

        public AccesoDatos.PROBLEMA_TIPO GetTipoProblema(string nombreTipo)
        {
            List<AccesoDatos.PROBLEMA_TIPO> result = this.Listar();

            return result.SingleOrDefault(x => x.TIPO_PROBLEMA == nombreTipo && x.ELIMINADO == 0);
        }

        public void Registrar(AccesoDatos.PROBLEMA_TIPO nuevoProblemaTipo)
        {
            AccesoDatos.TipoProblemaDAO tipoProblemaDAO = new AccesoDatos.TipoProblemaDAO();

            tipoProblemaDAO.Registrar(nuevoProblemaTipo);
        }

        public void Actualizar(AccesoDatos.PROBLEMA_TIPO selectedTipoProblema, string tipoProblema)
        {
            AccesoDatos.TipoProblemaDAO tipoProblemaDAO = new AccesoDatos.TipoProblemaDAO();

            tipoProblemaDAO.Actualizar(selectedTipoProblema, tipoProblema);
        }

        public void Eliminar(AccesoDatos.PROBLEMA_TIPO selectedTipoProblema)
        {
            AccesoDatos.TipoProblemaDAO tipoProblemaDAO = new AccesoDatos.TipoProblemaDAO();

            tipoProblemaDAO.Eliminar(selectedTipoProblema);
        }

        public AccesoDatos.PROBLEMA_TIPO GetTipoProblema(int idTipoProblema)
        {
            List<AccesoDatos.PROBLEMA_TIPO> result = this.Listar();

            return result.SingleOrDefault(x => x.ID == idTipoProblema && x.ELIMINADO == 0);

        }
    }
}
